System and method for improved user input on personal computing devices

ABSTRACT

A user input mechanism is provided that allows a user to enter words as gestures on a virtual keyboard presented on the display device. The user input mechanism combines two existing and prevalent forms of user input: cursive handwriting and keyboard input. A familiar keyboard layout is presented on the display. A user then may place an implement, such as a stylus or the user&#39;s finger, in contact with the display. Typically, the implement will first touch the screen at a position of a first character in a word. The user then may move the implement along the surface of the display from character to character, spelling out a word.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates to data processing systems and, inparticular, to personal computing devices. Still more particularly, thepresent invention provides a method, apparatus, and program for improveduser input on personal computing devices.

2. Description of Related Art

Mobile computing devices, such as mobile phones, hand-held computers,and personal digital assistants, are now ubiquitous in today's society.These devices now typically have processors, memory, and storage thatprovide users with computing power nearly on par with that of desktopcomputers. Many users find, however, that the primary drawback of suchdevices is that of the input mechanisms. Manual entry of any significantamount of data into a mobile phone or personal digital assistant (PDA)is certainly a non-trivial task.

Text input is typically accomplished by one of three input mechanisms. Afirst text input mechanism is a hardware key mechanism. Mobile phonesusually have a numeric keypad with which users may enter textualcharacters using combinations of button presses. This method of input isslow and cumbersome, since the task of entering a long string of textrequires a considerable number of button presses. Other mobile computingdevices include a full keyboard. However, with the small size of thedevice itself, the size and spacing of the keys renders the keyboarddifficult to manipulate.

Many mobile computing devices include a touch screen display device anda stylus that may be used to manipulate graphical elements on thedisplay. Some attempts have been made to allow users to use handwrittencharacters on the touch screen display with varying degrees of success.Graffiti® is a handwriting recognition mechanism that recognizessimplified gestures for textual characters. Still, the user must writeindividual characters and the recognition mechanism has limited success.

Some mobile computing devices provide a “virtual” keyboard that presentsa miniature version of a keyboard on a touch screen. The user may thenuse keyboard layout to tap the virtual keys to enter text. However,tapping the keys remains a tedious hunt-and-tap operation using astylus, which is not as natural as two-handed typing on a full sizekeyboard. Furthermore, the user must successfully depress each keyindividually by tapping with the stylus. This operation is tedious anddifficult for many users.

SUMMARY OF THE INVENTION

The present invention recognizes the disadvantages of the prior art andprovides an improved user input mechanism for personal computingdevices. The user input mechanism recognizes when an implement, such asa stylus or a user's finger, makes contact with a touch sensitive inputdevice. Preferably, a virtual keyboard is displayed under the inputdevice. The user input mechanism then recognizes movement of theimplement while in contact with the touch screen. The user inputmechanism may recognize known patterns or gestures that correspond towords as they relate spatially to the placement of keys on the virtualkeyboard. The word may be completed by lifting the implement from thekeyboard, by dragging the implement off the keyboard area, or by tappinga designated area. Alternatively, the user input mechanism may recognizechanges of direction and other movements within the pattern thatidentify characters in the word. The user input mechanism may thenperform a spell check or context analysis to determine a closest matchfor the pattern or gesture.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself, however, as well asa preferred mode of use, further objectives and advantages thereof, willbest be understood by reference to the following detailed description ofan illustrative embodiment when read in conjunction with theaccompanying drawings, wherein:

FIG. 1 is a diagram of a personal computing device in accordance with apreferred embodiment of the present invention;

FIG. 2 is a block diagram of a personal computing device in accordancewith a preferred embodiment of the present invention;

FIG. 3 illustrates a touch screen display in accordance with a preferredembodiment of the present invention;

FIGS. 4A-4F illustrate example text entry using the user input mechanismof the present invention;

FIG. 5 is a block diagram illustrating a data processing system inaccordance with an exemplary embodiment of the present invention; and

FIGS. 6A and 6B depict a flowchart illustrating the operation of a userinput interface in accordance with an exemplary embodiment of thepresent invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

With reference now to FIG. 1, a simplified diagram of a personalcomputing device is depicted in accordance with a preferred embodimentof the present invention. Personal computing device 100 includes adisplay 102 for presenting textual and graphical information. Display102 may be a known display device, such as a liquid crystal display(LCD) device. The display may be used to present a map or directions,calendar information, a telephone directory, or an electronic mailmessage. In an exemplary embodiment of the present invention, screen 102may be a touch screen device that receives user input using an implementsuch as, for example, stylus 110.

Personal computing device 100 may also include keypad 104, speaker 106,and antenna 108. Keypad 104 may be used to receive user input inaddition to using screen 102. Speaker 106 provides a mechanism for audiooutput, such as presentation of an audio file. Antenna 108 provides amechanism used in establishing a wireless communications link betweenpersonal computing device 100 and a network. Associated device driversand wireless communications means are not explicitly shown in FIG. 1.

Personal computing device 100 also preferably includes a graphical userinterface that may be implemented by means of systems software residingin computer readable media in operation within personal computing device100.

In accordance with a preferred embodiment of the present invention, auser input mechanism is provided that allows a user to enter words asgestures on a virtual keyboard presented on the display device. The userinput mechanism of the present invention combines elements of twoexisting and prevalent forms of user input: cursive handwriting andkeyboard input. A familiar keyboard layout is presented on the display.A user then may place an implement, such as a stylus or the user'sfinger, in contact with the display. Typically, the implement will firsttouch the screen at a position of a first character in a word. The userthen may move the implement along the surface of the display fromcharacter to character, spelling out a word. In time, the user willlearn the patterns on the virtual keyboard for each word. With evengreater familiarity, the display of the virtual keyboard may becomesuperfluous for expert users.

Turning now to FIG. 2, a block diagram of a personal computing device isshown in accordance with a preferred embodiment of the presentinvention. Personal computing device 200 is an example of a computingdevice, such as personal computing device 100 in FIG. 1, in which codeor instructions implementing the processes of the present invention maybe located. Personal computing device 200 includes a bus 206 to whichprocessor 202 and main memory 204 are connected. Audio adapter 208,graphics adapter 210, touch screen/stylus adapter 212, transceiver 214,and storage 216 also are connected to bus 206.

Cradle link 218 provides a mechanism to connect personal computingdevice 200 to a cradle used in synchronizing data in personal computingdevice 200 with another data processing system. Further, touchscreen/stylus adapter 212 also includes a mechanism to receive userinput as a stylus makes contact with a touch screen display.

An operating system runs on processor 202 and is used to coordinate andprovide control of various components within personal computing device200 in FIG. 2. The operating system may be, for example, a commerciallyavailable operating system such as Windows CE, which is available fromMicrosoft Corporation, Linux, or PalmOS. Instructions for the operatingsystem and applications or programs are located on storage devices, suchas storage 216, and may be loaded into main memory 204 for execution byprocessor 202.

Those of ordinary skill in the art will appreciate that the hardware inFIG. 2 may vary depending on the implementation. Other internal hardwareor peripheral devices, such as flash ROM (or equivalent nonvolatilememory) or optical disk drives and the like, may be used in addition toor in place of the hardware depicted in FIG. 2. Personal computingdevice 200 may be, for example, a personal digital assistant (PDA) or apalm-top computing device. Personal computing device 200 may also takethe form of a telephone computing device, a tablet computer, or a laptopcomputer within the scope of the present invention.

FIG. 3 illustrates a touch screen display in accordance with a preferredembodiment of the present invention. Touch screen display 300 includesan application portion 302, a text input portion 304, and a virtualkeyboard 306. In the depicted example, the keyboard layout is similar toa QWERTY keyboard layout. A QWERTY keyboard layout is named after theorder of the keys in the upper left portion of the keyboard. Otherkeyboard layouts, such as the Dvorak keyboard layout, may also be usedwithin the scope of the present invention. The present invention mayalso apply to other input layouts, such as a numeric keypad or anon-English alphabetic keyboard. Therefore, a word may consist of astring of alphabetic characters, a string of numeric characters, or acombination of alphabetic and numeric characters.

Tapping individual letters on a virtual keyboard is not a naturaloperation for most users. Holding a stylus is similar to holding a penor pencil; therefore, users find handwriting more natural with a stylus.When writing with a pen or pencil, cursive writing is a more efficientand fluid style of writing. A user is able to write words moreefficiently, because the writing implement leaves the paper lessfrequently.

The present invention provides a “QWER-sive” user input mechanism thatrecognizes gestures that represent words. QWER-sive, pronounced like“cursive,” is an input method that allows users to enter words as asingle gesture based on a keyboard layout, such as virtual keyboard 306.A user places an implement, such as a stylus for example, in contactwith the touch screen over a display of a first letter of a word. Theuser then drags the stylus, while in contact with the surface of thetouch screen, to the next letter of the word, then to the next letter,and so on. The user may then use the keyboard layout to fluidly writewhole words in a single gesture. Using the QWER-sive input mechanism ofthe present invention, the time between each character entry isminimized and users may eventually be able to repeat gestures frommemorization of commonly used words or character combinations.

As words are recognized from input on keyboard layout 306, the words arepresented in text input portion 304. If a word or series of words isaccepted, the string is sent to an application in application portion302. In this manner, the user may efficiently and fluidly enter textinto a personal computing device.

While the example depicted in FIG. 3 shows a keyboard layout on thedisplay, a user may become increasingly familiar with the keyboardlayout and may also memorize gestures for particular words. A largepercentage of text in most languages may be represented by a relativelysmall subset of words. For example, the words “the,” “is,” “it,” and“of” are examples of very common words in the English language. A usermay memorize the gestures for very common words and execute them withoutlooking at the keyboard layout. The patterns of the gestures may berecognized as loosely tied to the keyboard layout. In fact, for manywords, it may not be necessary to display the keyboard layout. Thus, inan exemplary embodiment of the present invention, gestures may beentered relative to a keyboard layout that is not displayed. Thekeyboard layout may be displayed only when expressly requested by theuser by selection of a particular button or graphical element, forexample.

FIGS. 4A-4F illustrate example text entry using the user input mechanismof the present invention. More particularly, FIG. 4A illustrates theentry of a common word, “the.” The user places an implement in contactwith a virtual keyboard the location of the first letter, in this case“t.” The user then drags the implement from the “t” to the location ofthe letter “h” and then to the letter “e.” The user may then end theword by simply lifting the implement from the surface of the touchscreen or by, for example, dragging the implement to space bar 412,dragging the implement to “ENTER” key 414, or dragging the implement toan unused portion of the display, such as portion 416.

The input mechanism of the present invention may use fuzzy logic todetermine keys that are close to vertices of gestures. For example,given the above example of the word “the,” users may perform the changeof direction associated with the letter “h” with varying degrees offluidity and accuracy. Rather than executing a sharp change of directionwith a vertex directly on the “h” key, a user may round the corner orstop at the edge of the virtual key. Thus, the present invention mayinclude some fuzzy logic to more accurately determine the intentions ofthe user.

FIG. 4B illustrates the entry of the word “quick.” In this case, theuser must pass through the letter “u” to get to the letter “i.” The userinput mechanism of the present invention may recognize the letter “u” bydetermining whether the stylus stops momentarily at the location of theletter “u” on the keyboard layout.

Alternatively, the user may simply pass through the letter, thus forminga gesture for the word “qick.” In this case, the user input mechanismmay recognize the pattern as a common pattern corresponding to the word“quick.” The user input mechanism may also accept “qick” as the inputword and perform a spell check operation, which may determine that theword “quick” is a closest match for the input word. Another method foridentifying letters that lie on a path between preceding and succeedingletters in the keyboard layout is described below with reference to FIG.4F.

FIG. 4C illustrates the entry of the word “brown” using the user inputmechanism of the present invention. Further, FIG. 4D illustrates theentry of the word “fox.” As each word is completed by, for example,lifting the implement from the surface of the touch screen, the word isadded to the text input portion of the display. Alternatively, the userinput mechanism may display individual characters as the implementchanges directions or makes other sub-gestures within the gesture. Theuser input mechanism may also make guesses as to what word is beinginput based upon individual characters or the pattern as a whole in amanner similar to a conventional autocomplete function known in the art.If a guess is correct, the user may halt entry and indicate acceptanceof the guess by, for example, tapping the “ENTER” key or the like.

With reference now to FIG. 4E, the entry of a word with a double letteris shown. In this example, the word “scribble” has a double “b” in theword. As stated above, the user may enter only one “b” with theexpectation that the user input mechanism will recognize the pattern orcorrect the spelling with a spell check. However, in accordance with apreferred embodiment of the present invention, the user may explicitlyenter a double letter with a sub-gesture. In this example, loopsub-gesture 450 may indicate a double letter. The user enters theletters until a letter occurs twice in succession. The user then mayloop from the first occurrence to a second occurrence in a circulargesture to indicate a double letter.

FIG. 4F illustrates the entry of a word in which letters appear in astraight line. In this example, the word “ash” is entered by draggingthe stylus from the letter “a” through the letter “s” to the letter “h.”As stated above, the user may drag through the letter “s” with theexpectation that the user input mechanism will recognize the pattern orcorrect the spelling with a spell check. However, in accordance with apreferred embodiment of the present invention, the user may explicitlyenter the letter “s” with a sub-gesture. In this example, tick or heartbeat sub-gesture 460 may indicate that a letter is to be included in theword. The user enters the letter “a” and drags to the letter “s” andperforms a up-and-down motion with the implement to indicate that theletter “s” is part of the word. Then, the user drags to the final letter“h.”

While a “tick” or “heartbeat” type sub-gesture is shown in FIG. 4F,other sub-gestures may also be used. For instance, since the letter “s”would not typically be included in a gesture from “a” to “h,” in thedepicted example, a “loop” sub-gesture may be used to indicate inclusionof the letter “s.” In this case, a double loop sub-gesture may be usedto indicate double letters that lie between preceding and succeedingletters in the keyboard layout.

Other sub-gestures may be used within the scope of the presentinvention. For example, alternative sub-gestures, such as “hump” or “V”like sub-gesture, may be used for a double letter or “drag-through”letter. Sub-gestures may also be used to indicate charactermodifications, such as capitalization and the like. Other charactermodifications and sub-gestures may be apparent to those of ordinaryskill in the art.

FIG. 5 is a block diagram illustrating a data processing system inaccordance with an exemplary embodiment of the present invention. Textinput interface 510 receives user input 502. In an exemplary embodiment,user input 502 is generated by placing a stylus or other implement incontact with a touch screen device. Text input interface provides textto operating system 530 and ultimately to application 540 running in theoperating environment of operating system 530.

Input 502 includes gestures made by dragging an implement over a virtualkeyboard displayed on a touch screen. Text input interface 510 includespattern matching 512, which compares the gesture to pattern data 514.The pattern data associates common words with their correspondingpatterns. If the input gesture matches a known pattern, the input wordis identified as the word associated with the pattern. In this manner, auser may memorize common patterns and quickly draw them on the touchscreen without having to pay close attention to the individual letters.

Text input interface 510 also includes character route determination516, which recognizes changes of direction and sub-gestures within thegesture to identify individual letters within the word. Character routedetermination 516 may compare input positions with respect to the touchscreen with keyboard layout information 518 to determine individualcharacters associated with changes of direction and sub-gestures.

Text input interface 510 may also include spell/context checking 520,which looks up input words in dictionary 522. Incorrectly spelled words,both intentional and unintentional, may be corrected by replacing themwith words from dictionary 522. Considering the previous example of“qick,” the word “quick” may be found to be the closest match indictionary 522. The text input interface may automatically correct theword or prompt the user for acceptance of the corrected word.

Spell/context checking 520 may also apply rules to correct a word. Forexample, in entering a longer word, the user may unintentionally liftthe implement from the screen. Spell/context checking may apply a ruleto combine the two word fragments and look the resulting word up indictionary 522. As a specific example, the user may unintentionallyenter “mischara” and “cterization.” While neither word fragment islikely to be found in the dictionary, the combined word of“mischaracterization” may be found. Context rules may also be applied toidentify words that are commonly entered by a given user. For example,user may use a particular word frequently and enter the gesture quickly.Spell/context checking 520 may recognize the word based on the contextand frequency of the gesture.

Text input interface 510 may be embodied within a device driver for atouch screen device. The text input interface may also be embodiedwithin operating system 530 or may be an application that runs on top ofor within the operating system, providing text input to application 540.As such, the text input interface may be added as a terminate and stayresident (TSR) application that filters user input to provide quick andefficient textual input using word gestures.

FIGS. 6A and 6B depict a flowchart illustrating the operation of a userinput interface in accordance with an exemplary embodiment of thepresent invention. With reference to FIG. 6A, the process begins and adetermination is made as to whether an exit condition exists (step 602).An exit condition may exist, for example, when the personal computingdevice is shut down, when the user exits the user input interface, whenthe user switches to an alternate input interface, etc. If an exitcondition exists, the process ends.

If an exit condition does not exist in step 602, a determination is madeas to whether the stylus is down or in contact with the touch screen(step 604). If the stylus is not down, the process returns to step 602to determine whether an exit condition exists. If, however, the stylusis in contact with the touch screen in step 604, the process identifiesthe starting position of the stylus (step 606) and records the startingcharacter of the word (step 608).

Then, a determination is made as to whether a change of direction occurs(step 610). If a change of direction occurs while the stylus remains incontact with the touch screen, the process identifies the stylusposition (step 612) and records the next character in the input wordbased on the stylus position (step 614). Thereafter, the process returnsto step 610 to determine whether a change of direction occurs.

If a change of direction does not occur in step 610, a determination ismade as to whether a loop sub-gesture occurs (step 616). If a loopsub-gesture occurs, the process records a double character in the inputword based on the last character entered (step 618) and returns to step610 to determine whether a change of direction occurs.

If a loop sub-gesture does not occur in step 616, a determination ismade as to whether a tick sub-gesture occurs while the stylus is incontact with the touch screen (step 620). If a tick sub-gesture occurs,the process identifies the stylus position (step 622) and records thenext character in the input word based on the stylus position (step624). Thereafter, the process returns to step 610 to determine whether achange of direction occurs.

If a tick sub-gesture does not occur in step 620, a determination ismade as to whether gesture ends (step 626). This determination may bemade, for example, by determining whether the stylus is lifted from thetouch screen or whether the stylus is dragged to a space bar an enterkey or any other control or unused portion of the touch screen. If thegesture ends, the process identifies the stylus position (step 628) andrecords the last character in the input word based on the stylusposition (step 630).

The process shown in FIG. 6A may be modified to include additionalsub-gestures. For example, a sub-gesture for capitalization may be addedto the process. Other character modifications or special characters mayalso be handled through the use of sub-gestures in a manner similar tothat shown in FIG. 6A.

Next, continuing to FIG. 6B, the process performs pattern recognition onthe input gesture (step 632). Pattern matching may be mostly based onchanges of direction and sub-gestures. Sub-gestures may also beconsidered changes of direction. A determination is made as to whetherthe pattern is recognized (step 634). If the pattern is recognized, theprocess performs word lookup based on the pattern (step 636) and sendsthe associated word to a selected application (step 638).

If the pattern is not recognized in step 634, the process performsspell/context check (step 640). A determination is made as to whetherthe word is found or is correct based on the context (step 642). If theword is found in a dictionary or is correct based on the context, theprocess continues to step 630 to send the word associated with thegesture to a selected application (step 638).

If the words not found or correct based on the context in step 642, adetermination is made as to whether a replacement word is identified(step 644). This determination may be made by automatically identifyinga replacement word or by prompting the user for selection of the correctword. If a replacement word is not identified, the word is sent to theselected application as entered (step 638). If a replacement word isidentified, the process replaces the input word with the replacementword (step 646) and the replacement word is sent to the selectedapplication (step 638).

After the process sends the word associated with the gesture to theapplication in step 638, the process returns to step 602 in FIG. 6A todetermine whether an exit condition exists.

Thus, the present invention solves the disadvantages of the presentinvention by providing a user input mechanism that allows a user toefficiently enter strings of text using a virtual keyboard withouthaving to execute repetitive and tedious operations. The user inputmechanism of the present invention recognizes gestures that representmultiple character words. The user is able to fluidly write words as asingle gesture in a natural manner that is similar to cursivehandwriting. Since the user input mechanism of the present invention isbased on a familiar keyboard layout and is gesture-based, the user caneasily learn the gestures and enter them efficiently from memory. Thepatterns of the gestures may be recognized as loosely tied to thekeyboard layout. Thus, the user may enter them quickly without payingclose attention to the actual layout.

The present invention may also be applied to any situation where theuser may prefer the QWER-sive input mechanism over other text inputmechanisms. For example, a desktop computer user may prefer to use theQWER-sive mechanism with a touch screen input device, such as a touchpad, over keyboard input. A user may also prefer the QWER-sive inputmechanism of the present invention, because the user may enter text withone hand, leaving the other hand free for other more productiveactivities, such as holding a telephone or printed materials. Forexample, a laptop computer user on an airplane may enter text with onehand while holding a report or memorandum with the other hand.

It is important to note that while the present invention has beendescribed in the context of a fully functioning data processing system,those of ordinary skill in the art will appreciate that the processes ofthe present invention are capable of being distributed in the form of acomputer readable medium of instructions and a variety of forms and thatthe present invention applies equally regardless of the particular typeof signal bearing media actually used to carry out the distribution.Examples of computer readable media include recordable-type media, suchas a floppy disk, a hard disk drive, a RAM, CD-ROMs, DVD-ROMs, andtransmission-type media, such as digital and analog communicationslinks, wired or wireless communications links using transmission forms,such as, for example, radio frequency and light wave transmissions. Thecomputer readable media may take the form of coded formats that aredecoded for actual use in a particular data processing system.

The description of the present invention has been presented for purposesof illustration and description, and is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the art. Theembodiment was chosen and described in order to best explain theprinciples of the invention, the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

1. A method for user input, the method comprising: receiving a userinput, wherein the user input includes a gesture that represents aplurality of characters and wherein a shape of the gesture is related topositions of the plurality of characters within a keyboard layout;identifying a string of characters associated with the gesture; andproviding the identified string as text input.
 2. The method of claim 1,wherein identifying a string associated with the gesture includesperforming pattern recognition on the gesture.
 3. The method of claim 1,wherein identifying a string associated with the gesture includes:identifying a starting position; and recording a character based on thestarting position with respect to the keyboard layout.
 4. The method ofclaim 1, wherein identifying a string associated with the gestureincludes: identifying a change of direction; and recording a characterbased on a position of the change of direction with respect to thekeyboard layout.
 5. The method of claim 1, further comprising:performing a spell check on the identified string.
 6. The method ofclaim 1, wherein providing the identified string as input includesproviding the identified string to an application.
 7. The method ofclaim 1, wherein the gesture maintains a contact with a touch sensitivedevice while moving to each of the positions of the plurality ofcharacters corresponding to the keyboard layout.
 8. A method for userinput, the method comprising: receiving a user input, wherein the userinput includes a gesture that represents a plurality of characters andwherein a shape of the gesture is related to positions of the pluralityof characters within a keyboard layout; identifying a string ofcharacters associated with the gesture, wherein identifying a stringassociated with the gesture includes: identifying a sub-gesture; andproviding the identified string as text input.
 9. The method of claim 8,wherein the sub-gesture indicates a double letter.
 10. The method ofclaim 8, wherein identifying a string associated with the gesturefurther includes: recording a character based on a position of thesub-gesture with respect to the keyboard layout.
 11. A method for userinput, the method comprising: receiving a user input, wherein the userinput includes a gesture that represents a plurality of characters andwherein a shape of the gesture is related to positions of the pluralityof characters within a keyboard layout; identifying a string ofcharacters associated with the gesture; providing the identified stringas text input; and performing a spell check on the identified string,wherein performing a spell check on the identified string includes:looking up the identified string in a dictionary; determining whetherthe identified string exists in the dictionary; and responsive to theidentified string existing in the dictionary, accepting the identifiedstring as input.
 12. The method of claim 11, wherein performing a spellcheck on the identified string further includes: responsive to theidentified string not existing in the dictionary, identifying asubstitute string in the dictionary for the identified string; andaccepting the substitute string as input.
 13. An apparatus for userinput; the apparatus comprising: receipt means for receiving a userinput, wherein the user input includes a gesture that represents aplurality of characters and wherein a shape of the gesture is related topositions of the plurality of characters within a keyboard layout;identification means for identifying a string of characters associatedwith the gesture; and providing means for providing the identifiedstring as text input.
 14. The apparatus of claim 13, wherein theidentification means includes means for performing pattern recognitionon the gesture.
 15. The apparatus of claim 13, wherein theidentification means includes: means for identifying a startingposition; and means for recording a character based on the startingposition with respect to the keyboard layout.
 16. The apparatus of claim13, further comprising: means for performing a spell check on theidentified string.
 17. An apparatus for user input, the apparatuscomprising: receipt means for receiving a user input, wherein the userinput includes a gesture that represents a plurality of characters andwherein a shape of the gesture is related to positions of the pluralityof characters within a keyboard layout; identification means foridentifying a string of characters associated with the gesture, whereinthe identification means includes: means for identifying a change ofdirection; and means for recording a character based on a position ofthe change of direction with respect to the keyboard layout; andproviding means for providing the identified string as text input. 18.An apparatus for user input, the apparatus comprising: receipt means forreceiving a user input, wherein the user input includes a gesture thatrepresents a plurality of characters and wherein a shape of the gestureis related to positions of the plurality of characters within a keyboardlayout; identification means for identifying a string of charactersassociated with the gesture, wherein the identification means includes:means for identifying a sub-gesture.
 19. The apparatus of claim 18,wherein the sub-gesture indicates a double letter.
 20. The apparatus ofclaim 18, wherein the identification means further includes: means forrecording a character based on a position of the sub-gesture withrespect to the keyboard layout.
 21. A computer program product for userinput, the computer program product comprising: instructions forreceiving a user input, wherein the user input includes a gesture thatrepresents a plurality of characters and wherein a shape of the gestureis related to positions of the plurality of characters within a keyboardlayout; instructions for identifying a string of characters associatedwith the gesture; and instructions for providing the identified stringas text input.